for 语句
for 语句示例
示例程序:输出 1-10 的平方数。
python
for i in range(1,11):
print(i, i*i)
for 语句一般形式
python
for {variable} in {sequence}:
{statements}
{sequence}
是一组的序列的意思,在示例程序中,range(1,11)
会生成[1,2,3,4,5,6,7,8,9,10]
这一组序列{variable}
是存储序列中的元素的变量,在示例程序中,就会分别存储 1,2,3,4,5,6,7,8,9,10{statements}
就是要重复执行的代码
循环结构
py
for i in range(1,4):
print(i+1,end=' ')
程序会输出?
[0/1]
列表
py
for i in [1,2,3]:
print(i,end=' ')
程序会输出?
[0/1]
不用 for 也可以
不用 for 也可以,因为 for 语句只是实现了代码片段的重复执行,例如以下示例程序对比了用 for 和不用 for 的区别。
python
for i in range(1,11):
print(i, i*i)
python
print(1, 1*1)
print(2, 2*2)
print(3, 3*3)
print(4, 4*4)
print(5, 5*5)
print(6, 6*6)
print(7, 7*7)
print(8, 8*8)
print(9, 9*9)
print(10, 10*10)
所以,虽然不用 for 也可以,但是能用 for 的情况下,肯定会用 for。
range 函数
range 函数是 for 的最佳拍档,因为它可以按照我们的需求去生成一组序列,而不用手动创建序列。
python
for i in range(1,11):
print(i, i*i)
python
for i in [1,2,3,4,5,6,7,8,9,10]:
print(i, i*i)
range 函数的一般形式
range(start,end,step)
- start 是开始点(可以不写,默认是 0)
- end 是结束点(结束点是取不到的)
- step 是步长(可以不写,默认是 1)
range 左开右闭
range 函数一定要记住左取右不取的原则,这是初学者最容易犯错的地方!
例如range(1,4)
,只能从 1 开始,取到 4 的前面一个,也就是 3,最终只能取到 1,2,3,而不能取到 4!
range 函数的应用非常灵活,()里可以的三个参数可以自由填写
range(10)
会生成[0,1,2,3,4,5,6,7,8,9]这组序列。range(1,10)
会生成[1,2,3,4,5,6,7,8,9]这组序列。range(1,10,2)
会生成[1,3,5,7,9]这组序列。range(2,10,2)
会生成[2,4,6,8]这组序列。
python
#range生成的序列,转成列表list后才能输出,之后会讲到
print(list(range(10)))
print(list(range(1,10)))
print(list(range(1,10,2)))
print(list(range(2,10,2)))
循环结构
py
for i in range(3):
print(i,end=' ')
程序会输出?
[0/1]
循环结构
py
for i in range(1,3):
print(i,end=' ')
程序会输出?
[0/1]
循环结构
py
for i in range(1,9,2):
print(i,end=' ')
程序会输出?
[0/1]